#include <iostream>
#include <vector>
#include <string>
#include <cstring>
#include <algorithm>
#include <map>
#include <climits>


using namespace std;

class Solution1 {
public:
    int findRepeatNumber(vector<int>& nums) {
        int len=nums.size();
        vector<int> cnt(len,0);
        for(int i=0;i<len;i++){
            if(++cnt[nums[i]]>1){
                return nums[i];
            }
        }
        return -1;
    }
};
class Solution {
public:
    int findRepeatNumber(vector<int>& nums) {
        std::ios::sync_with_stdio(false);
        for (int i = 0; i < nums.size(); i++) {
            while (nums[i] != i) //一直判断该位数组是否与下标相等，如果不相等则一直交换(就是让该位数组等于自己的下标)
            {
                if (nums[i] == nums[nums[i]])//期间，如果有nums[nums[i]]与nums[i](自己本身)相等，返回nums[i]的值
                    return nums[i];
                swap(nums[i], nums[nums[i]]);
            }
        }
        return -1;
    }
};




int main(){




    return 0;
}